﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;

namespace RapChieuPhim.GUI
{
    public partial class QLPhim : UserControl
    {
        private int _MaRap = Modules.Login.user.NhanVien.Rap.MaRap;
        //private int _MaRap = 2;
        int _landau = 0;

        public QLPhim()
        {
            InitializeComponent();
        }

        private void LoadData()
        {

            lookPhim.Properties.DataSource = BUS.PhimBUS.GetAll();
            if (_landau==0)
            {
                lookPhim.Properties.Columns.Add(new DevExpress.XtraEditors.Controls.LookUpColumnInfo("MaPhim", 30, "Mã"));
                lookPhim.Properties.Columns.Add(new DevExpress.XtraEditors.Controls.LookUpColumnInfo("TenPhim", 180, "Mã phim"));
                lookPhim.Properties.Columns.Add(new DevExpress.XtraEditors.Controls.LookUpColumnInfo("NamSanXuat", 60, "Năm SX"));
            }
            
            lookPhim.Properties.DisplayMember = "TenPhim";
            lookPhim.Properties.ValueMember = "MaPhim";
            lookPhim.Properties.PopupFormMinSize = new Size(280, 100);
            lookPhim.ItemIndex = 0;

            gridControlMain.DataSource = BUS.CTRapBUS.GetAllbyMaRap(_MaRap);
            _landau++;
        }

        private void QLPhim_Load(object sender, EventArgs e)
        {
            LoadData();
        }

        private void navBarItem4_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            int _MaPhim = int.Parse(lookPhim.EditValue.ToString());
            string _TenPhim = BUS.PhimBUS.GetByID(_MaPhim).TenPhim;
            if (XtraMessageBox.Show("Khởi chiếu phim   [" + _TenPhim + "]   trên rạp ?", null, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                DataTable _dt = BUS.CTRapBUS.CheckCTRap(_MaRap, _MaPhim);
                if (_dt.Rows.Count == 0)
                {
                    BUS.CTRapBUS.Insert(_MaRap, _MaPhim);
                    LoadData();
                    XtraMessageBox.Show("Bạn đã quyết định khởi chiếu phim   [" + _TenPhim + "]. \nMời đặt lịch chiếu cụ thể cho từng phòng tại giao diện quản lí lịch chiếu", null, MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
        }

        private void navBarItem5_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            int _MaPhim = int.Parse(layoutView1.GetRowCellValue(layoutView1.FocusedRowHandle, colMa).ToString());

            string _TenPhim = BUS.PhimBUS.GetByID(_MaPhim).TenPhim;
            if (XtraMessageBox.Show("Bạn có chắc là không khởi chiếu phim   [" + _TenPhim + "]   nữa hay không ? \nNếu chỉ muốn hủy lịch chiếu cụ thể từng phòng. Mời qua giao diện quản lí lịch chiếu", null, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                BUS.CTPhongBUS.Delete(_MaRap, _MaPhim);
                LoadData();
                XtraMessageBox.Show("Thao tác thành công !", null, MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }

        private void navBarItem7_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            LoadData();
        }

        private void navBarItem8_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            SaveFileDialog _dialog = new SaveFileDialog();
            _dialog.InitialDirectory = Application.StartupPath.ToString();
            _dialog.Title = "Xuất ra file pdf";
            _dialog.DefaultExt = "pdf";
            _dialog.Filter = "All files (*.*)|*.*";
            _dialog.FilterIndex = 0;
            _dialog.RestoreDirectory = true;
            if (_dialog.ShowDialog() == DialogResult.OK)
            {
                gridControlMain.ExportToPdf(_dialog.FileName.ToString());

                System.Diagnostics.Process _prc = new System.Diagnostics.Process();
                _prc.StartInfo.FileName = System.IO.Path.GetDirectoryName(_dialog.FileName);
                _prc.Start();
            }
        }

        private void navBarItem2_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            gridControlMain.ShowPrintPreview();
        }
    }
}
